The monitor index is not something that gnome-shell and
gnome-settings-daemon seem to be agreeing about. Using the connector
string is a much more reliable method of identifying a specific screen
and we are indeed using this already for monitor labling.
So switch over to use the connector rather than the monitor index. If a
user tries to use the old API, then the OSD will simply show up on all
monitors (which is the status quo currently anyway).
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/489
for (let param in params)
params[param] = params[param].deep_unpack();
- let { monitor: monitorIndex,
+ let { connector,
label,
level,
max_level: maxLevel,
icon: serializedIcon } = params;
- if (monitorIndex === undefined)
- monitorIndex = -1;
+ let monitorIndex = -1;
+ if (connector) {
+ let monitorManager = Meta.MonitorManager.get();
+ monitorIndex = monitorManager.get_monitor_for_connector(connector);
+ }
let icon = null;
if (serializedIcon)